/**
 * 安卓系统级操作
 * 引入mui调用mui集成好的方法
 */
import FileManage from './logManage';
import Mui from './mui.min.js';
class Android {
  /**
   * 应用内启动app
   */
  plusPackage(type, num) {
    // 初始化mui实例
    Mui.init();
    // 调用mui集成的  h5+  plus实例
    Mui.plusReady(function() {
      if (num == 1) {
        plus.runtime.launchApplication({
          pname: 'com.c919table.vapaplayer',
          extra: { pava: type }
        });
      } else {
        plus.runtime.launchApplication({
          pname: 'com.c919table.launcher',
          extra: { service_type: type }
        });
      }
    });
  }

  /**
   * 监听安卓系统广播消息
   */
  plusAndriodReceiver() {
    let that = this;
    // 初始化mui实例
    Mui.init();
    // 调用mui集成的  h5+  plus实例
    Mui.plusReady(function() {
      var main = plus.android.runtimeMainActivity(); //获取activity (类似vue中的this对象，所有功能都需基于他来启动或者使用)
      var receiver = plus.android.implements(
        'io.dcloud.feature.internal.reflect.BroadcastReceiver',
        {
          onReceive: function(context, intent) {
            //实现onReceiver回调函数
            plus.android.importClass(intent);
            let Action = intent.getAction();
            let PAExtra = intent.getIntExtra('PA_STATUS', 2);
            let VAExtra = intent.getIntExtra('VA_STATUS', 2);
            let SERExtra = intent.getIntExtra('SERVICE_MODE', 2);
            console.log(Action);
            console.log(SERExtra);
            if (Action == 'com.cetca.android.PA') {
              if (PAExtra == 1) {
                that.plusPackage('pa', 1);
              }
            } else if (Action == 'com.cetca.android.VA') {
              if (VAExtra == 1) {
                that.plusPackage('va', 1);
              }
            } else if (Action == 'com.cetca.android.SERVICE_SWITCH') {
              if (SERExtra != 3) {
                that.plusPackage(SERExtra, 2);
              }
            }
          }
        }
      );
      var IntentFilter = plus.android.importClass(
        'android.content.IntentFilter'
      );
      var Intent = plus.android.importClass('android.content.Intent');
      var filter = new IntentFilter();
      filter.addAction('com.cetca.android.PA'); // 音频广播
      filter.addAction('com.cetca.android.VA'); // 视频广播
      filter.addAction('com.cetca.android.SERVICE_SWITCH'); // 视频广播
      main.registerReceiver(receiver, filter); //注册监听
      // 从前台切换到后台
      document.addEventListener(
        'pause',
        function() {
          // 取消监听
          main.unregisterReceiver(receiver);
        },
        false
      );

      // 从后台切换到前台
      document.addEventListener(
        'resume',
        function() {
          //注册监听
          main.registerReceiver(receiver, filter);
        },
        false
      );
    });
  }

  /**
   * 接收app启动传值
   */
  plusStartValue(_this) {
    // 初始化mui实例
    Mui.init();
    // 调用mui集成的  h5+  plus实例
    Mui.plusReady(function() {
      var main = plus.android.runtimeMainActivity(); //获取activity (类似vue中的this对象，所有功能都需基于他来启动或者使用)
      var Intent = plus.android.importClass('android.content.Intent');
      var intent = main.getIntent();
      let language = intent.getStringExtra('language');
      // 设置全局状态language
      _this.$store.commit('setLanguage', language);
    });
  }

  /**
   * 退出应用
   */
  plusQuitApp() {
    // 初始化mui实例
    Mui.init();
    // 调用mui集成的  h5+  plus实例
    Mui.plusReady(function() {
      plus.runtime.quit();
    });
  }

  /**
   * 日志写入到文件
   */
  plusLogMessage(content) {
    var FileManageModel = FileManage;
    // 初始化mui实例
    Mui.init();
    // 调用mui集成的  h5+  plus实例
    Mui.plusReady(function() {
      let FileManage = new FileManageModel(plus);
      let timestamp = Date.parse(new Date());
      let date = new Date(timestamp);
      let Y = date.getFullYear(); // 获取完整的年份(4位,1970)
      let M = date.getMonth() + 1; // 获取月份(0-11,0代表1月,用的时候记得加上1)
      let D = date.getDate(); // 获取日(1-31)
      let status = FileManage.exportFile(
        '/xlogsample/',
        'movie_' + Y + '-' + M + '-' + D + '.log',
        content
      );
      return status;
    });
  }

  /**
   * 原生视频播放器
   */
  plusVideoPlayer(url) {
    // 初始化mui实例
    Mui.init();
    // 调用mui集成的  h5+  plus实例
    Mui.plusReady(function() {
      var player = plus.video.createVideoPlayer('videoplayer', {
        src: url,
        width: '100%',
        height: '100%',
        position: 'static',
        'show-progress': true,
        'show-fullscreen-btn': true,
        'show-play-btn': true,
        'show-center-play-btn': true,
        'enable-progress-gesture': true,
        autoplay: true
      });
      plus.webview.currentWebview().append(player);
    });
  }

  /**
   * 调用安卓功能
   */
  plusWindowBar(){
    // 初始化mui实例
    Mui.init();
    // 调用mui集成的  h5+  plus实例
    Mui.plusReady(function() {

    })
  }
}

export default Android;
